/*
 * Magic.java
 *
 * Created on 3 de Abril de 2008, 21:51
 *
 */

package Server.GameRules;

/**
 *
 * @author thiago c fernandes
 */
public class Magic {
    private String name;
    private String description;
    private Effect effect;
    private int manacost;
    
    /** Creates a new instance of Magic */
    public Magic() {
        this.setDescription("");
        this.setEffect(new Effect());
        this.setManacost(0);
        this.setName("");
    }
    
    /** Contructor **/
    public Magic(String name, String description, Effect effect, int manacost){
        this.setDescription(description);
        this.setEffect(effect);
        this.setManacost(manacost);
        this.setName(name);
    }
    
    /**
     * Sets the name of the magic
     * @param name The name to be setted
     *
     */
    public void setName(String name){
        this.name = name;
    }
    
    /**
     * Sets the description of the magic
     * @param description The description to be setted 
     *
     */
    public void setDescription(String description){
        this.description = description;
    }
    
    /**
     * Sets the effect of the magic
     * @param effect The effect to be setted
     */
    public void setEffect(Effect effect){
        this.effect = effect;
    }
    
    /**
     * Sets de mana cost of the magic
     * @param cost The cost to be setted
     */
    public void setManacost(int cost){
        this.manacost = cost;
    }
    
    /**
     * Gets the name of the magic
     *
     */
    public String getName(){
        return this.name;
    }
    
    /**
     * Gets the description of the magic
     *
     */
    public String getDescription(){
        return this.description;
    }
    
    /**
     * Gets the effect of de magic
     *
     */
    public Effect getEffect(){
        return this.effect;
    }
    
    /**
     * Gets the mana cost of the magic
     *
     */
    public int getManacost(){
        return this.manacost;
    }
}
